import dayjs from 'dayjs'
Page({
  data: {
    dateLayerVisible: false,
    // 控制选择房屋弹层显示隐藏
    houseLayerVisible: false,
    //  1. 选择的房屋列表
    houseList: [
      // { name: '北京西三旗花园1号楼 101' },
      // { name: '北京东村家园3号楼 302' },
      // { name: '北京育新花园3号楼 703' },
      // { name: '北京天通苑北苑8号楼 403' },
    ],
    // 选择的房屋信息
    selectHouse: '',
    // 2. 选择日期
    minDate: Date.now(), // 最小可选时间
    maxDate: dayjs().add(2, 'day').valueOf(), // 最大可选时间=》3 天以内
    currDate: Date.now(), // 当前时间作为默认选中时间
    visitDate: '',// 当前选中时间-表单
    // 选中访问房屋的 id
    houseId: '',
    name: '',
    // 0 女 ｜ 1 男
    gender: 0,
    mobile: ''
  },
  onLoad() {
    this.getHouseList()
  },
  // 查询访问的房屋列表
  async getHouseList() {
    const list = await wx.http.get('/house')
    console.log('访问的房屋列表：', list)
    this.setData({ houseList: list })
  },
  // 选择房屋执行
  selectHouse(e) {
    console.log('选择房屋信息：', e.detail)
    this.setData({
      houseId: e.detail.id, // 提交表单使用
      selectHouse: e.detail.name
    })
  },
  // 选择访问时间
  selectDate(e) {
    console.log('选中的时间：', e.detail)
    this.setData({
      visitDate: wx.utils.formatTime(e.detail),
      dateLayerVisible: false,
    })
  },
  // 打开和关闭房屋选择
  openHouseLayer() {
    this.setData({ houseLayerVisible: true })
  },
  closeHouseLayer() {
    this.setData({ houseLayerVisible: false })
  },
  // 打开和关闭日期选择
  openDateLayer() {
    this.setData({ dateLayerVisible: true })
  },
  closeDateLayer() {
    this.setData({ dateLayerVisible: false })
  },
  async goPassport() {
    // 1. 获取数据并校验
    const { name, mobile, houseId, visitDate, gender } = this.data
    if (!houseId) return wx.utils.message('请选择房屋信息！')
    if (!/^[\u4e00-\u9fa5]{2,5}$/.test(name)) return wx.utils.message('请填写中文姓名!')
    if (!/^[1][3-8][0-9]{9}$/.test(mobile)) return wx.utils.message('请填写正确的手机号码!')
    if (!visitDate) return wx.utils.message('请选择访问日期！')
    // 2. 调用新增访客后台接口
    const data = await wx.http.post('/visitor', { name, mobile, houseId, visitDate, gender })
    //  3. 跳转访客详情页面，携带访客记录的 id
    wx.navigateTo({
      url: `/visitor_pkg/pages/passport/index?id=${data.id}`,
    })
  },
})
